home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / netBoot / h / time.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-05-13  |  1.2 KB  |  51 lines

  1. /*    @(#)time.h 1.1 86/09/27 SMI; from UCB 4.4 83/07/09    */
  2.  
  3.  
  4. /*
  5.  * Structure returned by gettimeofday(2) system call,
  6.  * and used in other calls.
  7.  */
  8. struct timeval {
  9.     long    tv_sec;        /* seconds */
  10.     long    tv_usec;    /* and microseconds */
  11. };
  12.  
  13. struct timezone {
  14.     int    tz_minuteswest;    /* minutes west of Greenwich */
  15.     int    tz_dsttime;    /* type of dst correction */
  16. };
  17. #define    DST_NONE    0    /* not on dst */
  18. #define    DST_USA        1    /* USA style dst */
  19. #define    DST_AUST    2    /* Australian style dst */
  20. #define    DST_WET        3    /* Western European dst */
  21. #define    DST_MET        4    /* Middle European dst */
  22. #define    DST_EET        5    /* Eastern European dst */
  23.  
  24. /*
  25.  * Operations on timevals.
  26.  *
  27.  * NB: timercmp does not work for >= or <=.
  28.  */
  29. #define    timerisset(tvp)        ((tvp)->tv_sec || (tvp)->tv_usec)
  30. #define    timercmp(tvp, uvp, cmp)    \
  31.     ((tvp)->tv_sec cmp (uvp)->tv_sec || \
  32.      (tvp)->tv_sec == (uvp)->tv_sec && (tvp)->tv_usec cmp (uvp)->tv_usec)
  33. #define    timerclear(tvp)        (tvp)->tv_sec = (tvp)->tv_usec = 0
  34.  
  35. /*
  36.  * Names of the interval timers, and structure
  37.  * defining a timer setting.
  38.  */
  39. #define    ITIMER_REAL    0
  40. #define    ITIMER_VIRTUAL    1
  41. #define    ITIMER_PROF    2
  42.  
  43. struct    itimerval {
  44.     struct    timeval it_interval;    /* timer interval */
  45.     struct    timeval it_value;    /* current value */
  46. };
  47.  
  48. #ifndef KERNEL
  49. #include "systime.h"
  50. #endif
  51.